package com.tencent.cloud.iov.block;

import android.view.View;
import android.view.ViewGroup;

import com.tencent.cloud.iov.action.IActionListener;

/**
 * 区块布局
 *
 * 提供创建视图、绑定视图和绑定行为接口
 *
 * @author showxiao
 * @date 2018/4/17
 */

public interface IBlockLayout<T> {
    /**
     * 创建布局视图
     *
     * @param parent    父视图
     * @return          创建的视图
     */
    View onCreateView(ViewGroup parent);

    /**
     * 绑定区块布局数据
     *
     * @param item          区块数据
     * @param position      区块位置下标
     */
    void onBindView(T item, int position);

    /**
     * 绑定区块布局行为
     *
     * @param item              区块数据
     * @param position          区块位置下标
     * @param actionListener    区块行为监听器
     */
    void onBindAction(T item, int position, IActionListener actionListener);
}
